package com.jyh.controller;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.config.MvcNamespaceHandler;

import com.alibaba.fastjson.JSONObject;
import com.jyh.config.BaseAction;
import com.jyh.config.quantity.Result;
import com.jyh.config.redis.JedisClient;
import com.jyh.service.collectionService;
import com.jyh.util.NoteUtils;
@Controller
@RequestMapping(value = "/riskManage")
/**
 * 风控管理层报告
 * @author jiwei
 *
 */
public class collectionController {
	private static Logger logger = Logger.getLogger(collectionController.class);
	@Autowired
	private collectionService collectionservice;
	
	/**
	 * 获取催收人员需要催收的逾期用户列表
	* @Title: getRiskManageList 
	* @Description: TODO
	* @param @param request
	* @param @param session
	* @param @return    
	* @return ModelAndView    
	* @throws 
	* @author kiwishang 
	* @date 2017年10月18日 下午6:19:37
	 */
	@RequestMapping(value = "/getrisklist")
	public ModelAndView getRiskManageList(HttpServletRequest request, HttpSession session) {
		try {
			logger.info("begin");
			//获取逾期未还款的用户
			ModelAndView mv =collectionservice.getOverduelist(request,session,"WH"); 
			  
			return mv;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
    }
	/**
	 * 已回账信息
	* @Title: getrisklisthvaepay 
	* @Description: TODO
	* @param @param request
	* @param @param session
	* @param @return    
	* @return ModelAndView    
	* @throws 
	* @author kiwishang 
	* @date 2017年10月31日 下午5:21:21
	 */
	@RequestMapping(value = "/getrisklisthvaepay")
	public ModelAndView getrisklisthvaepay(HttpServletRequest request, HttpSession session) {
		try {
			logger.info("begin");
			//获取逾期未还款的用户
			ModelAndView mv =collectionservice.getOverduelist(request,session,"HZ"); 
			return mv;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}
	
	
	
	/**
	 * 批次管理列表
	* @Title: getpiciManage 
	* @Description: TODO
	* @param @param request
	* @param @return    
	* @return ModelAndView    
	* @throws 
	* @author kiwishang 
	* @date 2017年10月18日 下午6:19:15
	 */
	public ModelAndView getpiciManage(HttpServletRequest request){
	
		return null;
	}
	
	
	/**
	 * 获取逾期未还款 的用户列表
	* @Title: getwhkList 
	* @Description: TODO
	* @param @return    
	* @return ModelAndView    
	* @throws 
	* @author kiwishang 
	* @date 2017年10月20日 下午5:03:51
	 */
	@RequestMapping(value="getwhkList")
	public ModelAndView getwhkList(HttpServletRequest request){
		ModelAndView mv =collectionservice.getwhkList(request); 
		mv.addObject("userlist", getcustomuser());
		return mv;
	}
	
	/**
	 * 分配案件订单
	* @Title: setTaskbyhander 
	* @Description: TODO
	* @param @param request
	* @param @param response
	* @param @return    
	* @return Map<String,Object>    
	* @throws 
	* @author kiwishang 
	* @date 2017年10月20日 下午2:36:48
	 */
	@RequestMapping(value="/setTaskbyhander",method=RequestMethod.POST)
	@ResponseBody
	public String setTaskbyhander(HttpServletRequest request,HttpServletResponse response){
		JSONObject reposemap=new JSONObject();
		String  ordernos=request.getParameter("ordernos");
		String setcustomid=request.getParameter("setcustomid");
		String setcustomName=request.getParameter("setcustomName");
		String fenpeiType=request.getParameter("fenpeiType");
		int num=collectionservice.setTaskbyhander(fenpeiType,ordernos,setcustomid,setcustomName);
		if(num>0){
			reposemap.put("state","success");	
		}else{
			reposemap.put("state","error");
		}
		return reposemap.toJSONString();
	}
	
	
	 /**
     * 获取客服人员的列表
    * @Title: getcustomuser 
    * @Description: TODO
    * @param @return    
    * @return List<Map<String,Object>>    
    * @throws 
    * @author kiwishang 
    * @date 2017年10月23日 上午10:55:34
     */
    public List<Map<String,Object>> getcustomuser(){
    	List<Map<String, Object>> userlist =new ArrayList<Map<String,Object>>();
    	userlist=collectionservice.getcustomuser();
    	return userlist;
    }
    
    /**
     * 获取案件的具体信息
    * @Title: getcollectioninfo 
    * @Description: TODO
    * @param @return    
    * @return ModelAndView    
    * @throws 
    * @author kiwishang 
    * @date 2017年10月24日 下午5:47:10
     */
    @RequestMapping(value="getcollectioninfo")
     public ModelAndView  getcollectioninfo(HttpServletRequest request){
	   return collectionservice.getriskinfo(request);
   }
    
    /**
     * 发送短信
    * @Title: sendMeassage 
    * @Description: TODO
    * @param @return    
    * @return String    
    * @throws 
    * @author kiwishang 
    * @date 2017年10月26日 下午3:30:47
     */
    @RequestMapping(value="/sendMeassage",method=RequestMethod.POST)
	@ResponseBody
    public String sendMeassage(HttpServletRequest request){ 
    	String userTel=request.getParameter("userTel");
    	String smsStr=request.getParameter("smsStr");
    	String sendtype=request.getParameter("sendtype");
    	String orderno=request.getParameter("orderno");
    	JSONObject reposemap=new JSONObject();
    	if(sendtype.equals("2")){
    	String sendSMS = NoteUtils.getNoteSend(userTel, smsStr);
		com.alibaba.fastjson.JSONObject reqoobj = com.jyh.util.StringUtils.getobj(sendSMS);
		String errorCode = reqoobj.getString("errorCode");
		if ("0000".equals(errorCode)) {
			reposemap.put("recode", "短信发送成功");
			List<Map<String, Object>> datalist=collectionservice.saveMessage(smsStr,userTel,orderno,sendtype);
			reposemap.put("resultdata", datalist);
		} else {
			reposemap.put("recode", "短信发送失败");
			reposemap.put("resultdata", "");
		}
    	}else{
    		List<Map<String, Object>> datalist=collectionservice.saveMessage(smsStr,userTel,orderno,sendtype);
    		reposemap.put("resultdata", datalist);
    	}
    	return reposemap.toJSONString();
    }
    /**
     * 设置按键的标签
    * @Title: caseFlage 
    * @Description: TODO
    * @param @param request
    * @param @return    
    * @return String    
    * @throws 
    * @author kiwishang 
    * @date 2017年10月26日 下午5:25:21
     */
    @RequestMapping(value="/caseFlage",method=RequestMethod.POST)
   	@ResponseBody
    public String  caseFlage(HttpServletRequest request){
    	return collectionservice.setcaseflag(request);
    }
    /**
     * 保存催收记录
    * @Title: saveCSinfo 
    * @Description: TODO
    * @param @return    
    * @return String    
    * @throws 
    * @author kiwishang 
    * @date 2017年10月26日 下午6:01:49
     */
    @RequestMapping(value="/saveCSinfo",method=RequestMethod.POST)
   	@ResponseBody
    public String saveCSinfo(HttpServletRequest request){
    	return collectionservice.saveCSinfo(request);
    }
    
    /**
     * 保存申请留案
    * @Title: saveReplay 
    * @Description: TODO
    * @param @param request
    * @param @return    
    * @return String    
    * @throws 
    * @author kiwishang 
    * @date 2017年10月27日 上午11:08:04
     */
    @RequestMapping(value="/saveReplay",method=RequestMethod.POST)
   	@ResponseBody
    public String saveReplay(HttpServletRequest request ,HttpSession session){
    	return collectionservice.saveReplay(request,session.getAttribute("managerName").toString());
    }
    
    /**
     * 刷新通讯录
    * @Title: saveCSinfo 
    * @Description: TODO
    * @param @param request
    * @param @return    
    * @return String    
    * @throws 
    * @author kiwishang 
    * @date 2017年11月29日 下午5:31:07
     */
    @RequestMapping(value="/getcontentuser",method=RequestMethod.POST)
   	@ResponseBody
    public String getcontentuser(HttpServletRequest request){
    	JSONObject reposemap=new JSONObject();
    	reposemap.put("resultdata", collectionservice.getcontentuser(request));
    	return reposemap.toJSONString();
    }
    
    /**
     * 获取回款的统计
    * @Title: getTotalMoney 
    * @Description: TODO
    * @param @param request
    * @param @return    
    * @return String    
    * @throws 
    * @author kiwishang 
    * @date 2017年12月4日 下午4:15:00
     */
    @RequestMapping(value="/getTotalMoney",method=RequestMethod.POST)
   	@ResponseBody
    public String getTotalMoney(HttpServletRequest request){
    	JSONObject reposemap=new JSONObject();
    	reposemap.put("totalmoney", collectionservice.getTotalMoney(request));
    	return reposemap.toJSONString();
    }
    
}
